package com.netease.neliveplayer.playerkit.videoLoader;

import android.content.Context;

import com.netease.neliveplayer.playerkit.sdk.model.VideoOptions;

import java.util.ArrayList;

public interface VideoLoader {
     class VideoInfo{
        public String vId;
        //单个视频的url列表，包括不同分辨率的url
        public  ArrayList<String> url;
        public VideoInfo(String Id, ArrayList<String> u) {
            vId = Id;
            url = u;
        }
    }

    /**
     * 初始化
     * @param context
     * @param mode 出图模式，0为立即出图，1为滑动结束出图
     * @param observer
     */
    void init(Context context, int mode, VideoOptions options);
    /**
     * 继续当前播放
     */
    void playResume();

    void registerPlayerListener(PlayerListener listener);
    /**
     * 暂停当前播放
     */
    void playPause();
    /**
     * 切换同一个视频的不同播放源 可以用来切换分辨率 默认0
     * @param index 视频url的index
     * @param mark 是否对全局生效 如果为true，之后滑动的视频也会受影响，如果为false，只是临时切换，之后的滑动还是默认视频源。
     * @note
     */
    void changeVideoSource(int index, boolean mark);

    /**
     * 临时切换视频源，可以用来临时切换播放分辨率
     * @param source 切换视频的url
     * @note
     */
    void changeVideoSource(String source);

    /**
     * 标识是否在滑动状态中
     * @param enabled
     */
    void setScrollMode(boolean enabled);


}
